Automatic Analysis of Open Objects in Dynamic Language Programs
نویسندگان
چکیده
In dynamic languages, objects are open—they support iteration over and dynamic addition/deletion of their attributes. Open objects, because they have an unbounded number of attributes, are difficult to abstract without a priori knowledge of all or nearly all of the attributes and thus pose a significant challenge for precise static analysis. To address this challenge, we present the HOO (Heap with Open Objects) abstraction that can precisely represent and infer properties about open-objectmanipulating programs without any knowledge of specific attributes. It achieves this by building upon a relational abstract domain for sets that is used to reason about partitions of object attributes. An implementation of the resulting static analysis is used to verify specifications for dynamic language framework code that makes extensive use of open objects, thus demonstrating the effectiveness of this approach.
منابع مشابه
Kohonen Self Organizing for Automatic Identification of Cartographic Objects
Automatic identification and localization of cartographic objects in aerial and satellite images have gained increasing attention in recent years in digital photogrammetry and remote sensing. Although the automatic extraction of man made objects in essence is still an unresolved issue, the man made objects can be extracted from aerial photos and satellite images. Recently, the high-resolution s...
متن کاملOn the Structure of Sharing in Open Concurrent Java Programs
This paper studies the structure of shared objects in open concurrent Java programs. It proposes classification of shared objects into three categories: central, owned and distributed. This classification facilitates program understanding and error detection in concurrent programs. The paper presents a new static analysis that infers central, owned and distributed objects in open concurrent Jav...
متن کاملA Navigation System for Autonomous Robot Operating in Unknown and Dynamic Environment: Escaping Algorithm
In this study, the problem of navigation in dynamic and unknown environment is investigated and a navigation method based on force field approach is suggested. It is assumed that the robot performs navigation in...
متن کاملProgram synthesis and transformations in an object-oriented environment
An object-oriented language with automatic synthesis of methods (programs) and transformations of OO descriptions using a logical metalanguage (Horn-clause logic) are considered. Automatic synthesis of methods (Proof-As-Program approach) is based on intuitionistic propositional calculus. The metalanguage expresses general knowledge related to classes and objects and it is used for describing tr...
متن کاملProgram Synthesis and Transformations in an Object-oriented Environment Program Synthesis and Transformations in an Object-oriented Environment
An object-oriented language with automatic synthesis of methods (programs) and transformations of OO descriptions using a logical metalanguage (Horn-clause logic) are considered. Automatic synthesis of methods (Proof-As-Program approach) is based on in-tuitionistic propositional calculus. The metalanguage expresses general knowledge related to classes and objects and it is used for describing t...
متن کامل